package com.xyy.saas.payment.adpater.jdCredit.req;

import com.jddglobal.open.request.base.JddRequest;
import com.jddglobal.open.response.base.SpiResponse;
import com.jddglobal.open.support.util.JacksonUtils;
import lombok.Data;
import org.apache.http.client.utils.DateUtils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 授信结果通知
 *
 * @author yuchengying
 * @date 2023/11/21
 */
@Data
public class CreditInfoNotifyReq implements JddRequest<SpiResponse> {

    /**
     * 业务编号
     */
    private String bizNo;
    /**
     * 请求编号
     */
    private String reqNo;
    /**
     * 请求时间
     */
    private String reqDate;
    /**
     * 响应编码
     */
    private String resCode;
    /**
     * 响应描述
     */
    private String resDesc;
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 客户编码
     */
    private String custCode;
    /**
     * 授信额度
     */
    private BigDecimal creditLimit;
    /**
     * 可用额度
     */
    private BigDecimal remainLimit;
    /**
     * 授信结束时间
     */
    private String creditEndDate;
    /**
     * 授信开始日期
     */
    private String auditDate;

    @Override
    public String getApiMethod() {
        return "/spi/v1/nav/creditInfoNotify";
    }

    @Override
    public String getJsonParams() {
        return JacksonUtils.toJson(this);
    }

    @Override
    public Class<SpiResponse> getResponseClass() {
        return SpiResponse.class;
    }

    @Override
    public String getRequestTime() {
        return DateUtils.formatDate(new Date(), "yyyyMMddHHmmssSSS");
    }
}
